import 'dart:convert';

void listTest() {
  var list = List.filled(10, 10);
  print('$list');
  print('${list.isEmpty}');
  print('${list.isNotEmpty}');
}

void fromTest() {
  var list = List<int>.from(AsciiCodec().encode('hello world'));
  print('$list');
  var str = AsciiCodec().decode(list);
  print('$str');
}

void generateTest() {
  var list = List<int>.generate(10, (index) => index * 2);
  print('${list}');
  var l2 = List<String>.generate(10, (index) => '${'a'.codeUnitAt(0) + index}');
  print(l2);
}

void compare() {
  var s1 = '1.1.13';
  var b1 = 10;

  var s2 = '1.1.13';
  var b2 = 21;

  var a1 = s1.split('.').map((e) => int.parse(e)).toList();
  a1.add(b1);
  var a2 = s2.split('.').map((e) => int.parse(e)).toList();
  a2.add(b2);
  print('$a1 ${a1.runtimeType}');
  print('$a2 ${a2.runtimeType}');

  bool update = false;
  for (var i = 0; i < a1.length; i++) {
    if (a1[i] < a2[i]) {
      update = true;
      break;
    } else if (a1[i] > a2[i]) {
      update = false;
      break;
    }
  }
  print(update);
}

void listToMap() {
  var list = [
    {'id': 1, 'name': 'a'},
    {'id': 2, 'name': 'b'},
    {'id': 3, 'name': 'c'},
  ];
  print(list.asMap().map((k, v) {
    return MapEntry(k,  v);
  }));
}

void main() {
  // listTest();
  // fromTest();
  // generateTest();

  compare();
  listToMap();
}
